package br.com.requisicao.compra.service.impl;

import br.com.requisicao.compra.canonico.RequisicaoCompraProduto;
import br.com.requisicao.compra.dao.IRequisicaoCompraProdutoDAO;
import br.com.requisicao.compra.dao.impl.RequisicaoCompraProdutoDAO;
import br.com.requisicao.compra.service.IRequisicaoCompraProdutoService;

public class RequisicaoCompraProdutoService implements
		IRequisicaoCompraProdutoService {

	private IRequisicaoCompraProdutoDAO requisicaoCompraProdutoDAO;

	public RequisicaoCompraProduto obtemPeloCodigo(Long codigo) {
		this.requisicaoCompraProdutoDAO = new RequisicaoCompraProdutoDAO();
		RequisicaoCompraProduto requisicaoCompraProduto = null;
		try {
			requisicaoCompraProduto = requisicaoCompraProdutoDAO
					.obtemPeloCodigo(codigo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return requisicaoCompraProduto;
	}

	public RequisicaoCompraProduto obtemPorIdFornecedor(Long codigo) {
		this.requisicaoCompraProdutoDAO = new RequisicaoCompraProdutoDAO();
		RequisicaoCompraProduto requisicaoCompraProduto = null;
		try {
			requisicaoCompraProduto = requisicaoCompraProdutoDAO
					.obtemPorIdFornecedor(codigo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return requisicaoCompraProduto;
	}
	
	public RequisicaoCompraProduto obtemPorIdUnidadeMedida(Long codigo) {
		this.requisicaoCompraProdutoDAO = new RequisicaoCompraProdutoDAO();
		RequisicaoCompraProduto requisicaoCompraProduto = null;
		try {
			requisicaoCompraProduto = requisicaoCompraProdutoDAO
					.obtemPorIdUnidadeMedida(codigo);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return requisicaoCompraProduto;
	}

	public void update(RequisicaoCompraProduto requisicaoCompraProduto) {
		this.requisicaoCompraProdutoDAO = new RequisicaoCompraProdutoDAO();
		try {
			requisicaoCompraProdutoDAO.update(requisicaoCompraProduto);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * @return the requisicaoCompraProdutoDAO
	 */
	public IRequisicaoCompraProdutoDAO getRequisicaoCompraProdutoDAO() {
		return requisicaoCompraProdutoDAO;
	}

	/**
	 * @param requisicaoCompraProdutoDAO
	 *            the requisicaoCompraProdutoDAO to set
	 */
	public void setRequisicaoCompraProdutoDAO(
			IRequisicaoCompraProdutoDAO requisicaoCompraProdutoDAO) {
		this.requisicaoCompraProdutoDAO = requisicaoCompraProdutoDAO;
	}

}